//=============================================================================
/**
 * @file	key_link_control.h
 * @brief	キーリンクコントローラ
 * @date	2007.09.27
 */
//=============================================================================
#ifndef __KEY_LINK_CONTROL_H__
#define __KEY_LINK_CONTROL_H__

typedef enum{
	LINK_AREA_NONE,
	LINK_AREA_EXIT,
	LINK_AREA_BOX,
	LINK_AREA_DROP,
	LINK_AREA_DROP_CLOSE,
///	LINK_AREA_ARROW,
///	LINK_AREA_RETURN_TRAY,
	LINK_AREA_BOX_NAME,
	LINK_AREA_MY_PARTY,
}LINK_AREA_ID;

typedef struct KEY_LINK_CONT_tag * KEY_LINK_CONT_PTR;

extern KEY_LINK_CONT_PTR KeyLink_Alloc(const int inHeapID, const u8 *inCurrentBox);
extern void KeyLink_Init(KEY_LINK_CONT_PTR ptr, const u8 inCancelOK);
extern void KeyLink_Free(KEY_LINK_CONT_PTR pCntPtr);
extern void KeyLink_SetPosition(KEY_LINK_CONT_PTR pCntPtr, const LINK_AREA_ID inAreaID, const u8 inIdx);
extern BOOL KeyLink_MovePointPosition(KEY_LINK_CONT_PTR pCntPtr, const s8 inX, const s8 inY);

extern LINK_AREA_ID KeyLink_GetLinkAreaID(KEY_LINK_CONT_PTR pCntPtr);
extern u8 KeyLink_GetIndex(KEY_LINK_CONT_PTR pCntPtr);

#endif //__KEY_LINK_CONTROL_H__
